package edu.cuit.avatar.service;

import java.io.Serializable;
import java.util.List;

/**
 * @author <a href="mailto:1020zhaodan@163.com">Adan</a>
 * @version 1.0
 * @date 2025/7/19 10:45
 */
public interface BaseService<T> {
    /**
     * 保存实体entity信息
     * @param entity 实体信息
     * @return 自增的标识id
     */
    Integer save(T entity);

    /**
     * 根据id删除实体信息
     * @param id id
     */
    void removeById(Serializable id);

    /**
     * 根据id修改实体信息
     * @param entity 修改后的实体信息,id不允许被需改
     */
    void updateById(T entity);

    /**
     * 加载所有的实体列表信息
     * @return 所有的实体列表
     */
    List<T> findAll();

    /**
     * 根据id加载具体的实体信息
     * @param id id
     * @return 具体的实体信息
     */
    T findById(Serializable id);
}
